Ce projet s’inscrit dans le cadre du module d’analyse de données et
vise à étudier la composition géochimique de la surface de
Mercure à partir des données orbitales issues de la mission
MESSENGER.
L’objectif global est de relier les hétérogénéités chimiques de
surface à l’histoire magmatique et à
l’évolution interne de la planète.
La mission MESSENGER (MErcury Surface, Space ENvironment,
GEochemistry, and Ranging), lancée par la NASA en 2004 et mise en
orbite autour de Mercure en mars 2011, a fourni jusqu’à 2015 un ensemble
complet de données sur la géochimie, la topographie et le champ
magnétique de la planète.
Les données utilisées ici proviennent principalement de deux instruments
:
Ces informations permettent de produire des cartes globales de composition chimique, représentatives des terrains volcaniques et de l’évolution du manteau mercurien.
Les données utilisées dans ce projet proviennent principalement de l’instrument XRS (X-Ray Spectrometer) pour la géochimie et de l’instrument MLA (Mercury Laser Altimeter) pour la topographie fournie par la publication de Nittler et al. (2020).
Le but de ce travail est double :
Cette approche permet de relier chaque pixel de la surface mercurienne à des conditions expérimentales de fusion, et donc à des profondeurs ou degrés de fusion du manteau.
Les données brutes sont constituées de plusieurs fichiers de formats
variés (.bmp, .png, .dat,
.rds), chacun représentant une variable géochimique ou
géophysique.
Avant toute analyse, ces couches sont uniformisées et
empilées dans un cube tridimensionnel
(latitude × longitude × variable).
Chaque couche correspond à une carte globale : par exemple, les rapports
Mg/Si, Al/Si, Ca/Si,
Fe/Si et S/Si.
Les étapes principales sont les suivantes :
data/, avec lecture adaptée selon le
format.result_array_full, sauvegardé au format
.rds.Le code effectue ensuite un contrôle statistique du cube (nombre de
pixels valides, distribution des valeurs) et permet une visualisation
rapide de chaque couche via la fonction image(), dont le
titre correspond automatiquement au nom du fichier source.
## [[1]]
## [1] "raster" "sp" "stats" "graphics" "grDevices" "utils"
## [7] "datasets" "methods" "base"
##
## [[2]]
## [1] "bmp" "raster" "sp" "stats" "graphics" "grDevices"
## [7] "utils" "datasets" "methods" "base"
##
## [[3]]
## [1] "png" "bmp" "raster" "sp" "stats" "graphics"
## [7] "grDevices" "utils" "datasets" "methods" "base"
##
## [[4]]
## [1] "rstudioapi" "png" "bmp" "raster" "sp"
## [6] "stats" "graphics" "grDevices" "utils" "datasets"
## [11] "methods" "base"
##
## [[5]]
## [1] "abind" "rstudioapi" "png" "bmp" "raster"
## [6] "sp" "stats" "graphics" "grDevices" "utils"
## [11] "datasets" "methods" "base"
##
## [[6]]
## [1] "plotly" "ggplot2" "abind" "rstudioapi" "png"
## [6] "bmp" "raster" "sp" "stats" "graphics"
## [11] "grDevices" "utils" "datasets" "methods" "base"
## ✅ Cube initial chargé : 14 couches
## ✅ Cube final : 28 couches (doublé)
##
## === STATISTIQUES DES COUCHES ===
## Index Layer NA_Count
## 1 1 alsi.bmp 0
## 2 2 alsierr.png 0
## 3 3 casi.bmp 0
## 4 4 casierr.png 0
## 5 5 DEM.RDS 0
## 6 6 DensityGrid.dat 0
## 7 7 fesi.bmp 0
## 8 8 fesierr.png 0
## 9 9 MeltGrid.dat 0
## 10 10 mgsi.bmp 0
## 11 11 mgsierr.png 0
## 12 12 ssi.bmp 0
## 13 13 ssierr.png 0
## 14 14 subregions_Nittler_Vflip.bmp 0
## 15 15 alsi.bmp_masked 369193
## 16 16 alsierr.png_masked 369193
## 17 17 casi.bmp_masked 369193
## 18 18 casierr.png_masked 369193
## 19 19 DEM.RDS_masked 369193
## 20 20 DensityGrid.dat_masked 369193
## 21 21 fesi.bmp_masked 369193
## 22 22 fesierr.png_masked 369193
## 23 23 MeltGrid.dat_masked 369193
## 24 24 mgsi.bmp_masked 369193
## 25 25 mgsierr.png_masked 369193
## 26 26 ssi.bmp_masked 369193
## 27 27 ssierr.png_masked 369193
## 28 28 subregions_Nittler_Vflip.bmp_masked 369193
##
## 💾 Sauvegardé : /Users/alexandremichaux/Documents/UCA/Cours/Analyse des données/TP/TPs/Projet final/result_array_with_uncertainty.rds
## Index Layer NA_Count
## 1 1 alsi.bmp 2237
## 2 2 alsierr.png 2236
## 3 3 casi.bmp 193559
## 4 4 casierr.png 194050
## 5 5 DEM.RDS 0
## 6 6 DensityGrid.dat 0
## 7 7 fesi.bmp 366605
## 8 8 fesierr.png 367271
## 9 9 MeltGrid.dat 0
## 10 10 mgsi.bmp 2238
## 11 11 mgsierr.png 2236
## 12 12 ssi.bmp 196990
## 13 13 ssierr.png 197926
## 14 14 subregions_Nittler_Vflip.bmp 811124
## 15 15 alsi.bmp_masked 369193
## 16 16 alsierr.png_masked 369193
## 17 17 casi.bmp_masked 369193
## 18 18 casierr.png_masked 369462
## 19 19 DEM.RDS_masked 369193
## 20 20 DensityGrid.dat_masked 369193
## 21 21 fesi.bmp_masked 369193
## 22 22 fesierr.png_masked 369859
## 23 23 MeltGrid.dat_masked 369193
## 24 24 mgsi.bmp_masked 369193
## 25 25 mgsierr.png_masked 369193
## 26 26 ssi.bmp_masked 369193
## 27 27 ssierr.png_masked 369363
## 28 28 subregions_Nittler_Vflip.bmp_masked 977473
La fonction ci-dessous permet d’extraire une matrice 2D (une couche) du tableau 3D en fonction de l’index de la couche et de potentiellement l’afficher.
Pour relier les compositions observées à la surface de Mercure à des conditions physiques (pression, température, taux de fusion partielle), deux jeux de données expérimentales sont utilisés :
Chaque ligne de ces fichiers (data_Mer8.csv,
data_Mer15.csv) contient : - la pression expérimentale, -
le taux de fusion partielle (F), - et les rapports chimiques
correspondants (Mg/Si, Al/Si, Ca/Si, Fe/Si, S/Si).
Les deux séries sont combinées pour constituer un ensemble de
référence unique (exp_data), utilisé pour comparer les
compositions de surface pixel par pixel.
L’objectif est d’associer chaque pixel de Mercure à la
condition expérimentale la plus proche parmi les
données Mer8/Mer15.
Pour cela, on calcule pour chaque pixel un résidu
pondéré mesurant la différence entre la composition observée et
la composition expérimentale.
Pour chaque pixel \((x, y)\), on définit un vecteur de mesures :
\[ \mathbf{M}(x, y) = \begin{pmatrix} \mathrm{Mg/Si} \\ \mathrm{Al/Si} \\ \mathrm{Ca/Si} \\ \mathrm{Fe/Si} \\ \mathrm{S/Si} \end{pmatrix} \]
et les incertitudes correspondantes :
\[ \boldsymbol{\sigma} = \begin{pmatrix} \sigma_{\mathrm{Mg/Si}} \\ \sigma_{\mathrm{Al/Si}} \\ \sigma_{\mathrm{Ca/Si}} \\ \sigma_{\mathrm{Fe/Si}} \\ \sigma_{\mathrm{S/Si}} \end{pmatrix} \]
Pour chaque expérience \(E_i\) du jeu Mer8/Mer15, on calcule le résidu pondéré :
\[ R_i = \sqrt{ \sum_{k=1}^{5} \left( \frac{M_k - E_{i,k}}{\sigma_k} \right)^2 } \]
où : - \(M_k\) est la valeur mesurée pour le rapport élémentaire \(k\), - \(E_{i,k}\) la valeur correspondante issue de l’expérience \(i\), - \(\sigma_k\) l’incertitude associée à la mesure \(M_k\).
Le résidu minimal est défini par :
\[ R_{\min}(x, y) = \min_i R_i(x, y) \]
L’expérience \(E_i\) associée à \(R_{\min}\) correspond à la condition expérimentale la plus proche, d’où l’on déduit :
Cette minimisation est effectuée pour chaque pixel valide de la carte de Mercure.
Deux matrices globales sont ainsi générées :
pressure_map : carte de la
pression de fusion partielle la plus probable (en
GPa)fusion_map : carte du taux de
fusion partielle correspondant (en %)Ces cartes sont affichées sous forme d’images colorées
(image()),
avec : - l’axe des abscisses = longitude, - l’axe des
ordonnées = latitude.
Les résultats sont ensuite sauvegardés pour réutilisation dans les étapes suivantes du projet :
Nittler, L.R., Frank, E.A., Weider, S.Z., Crapster-Pregont, E., Vorburger, A., Starr, R.D. & Solomon, S.C., 2020. global major-element maps of Mercury from four years of MESSENGER X-Ray Spectrometer observations. Icarus, 345, 113716. https://doi.org/10.1016/j.icarus.2020.113716.